#pragma once
#ifndef __NEZHAIWRITEFILE_H__
#define __NEZHAIWRITEFILE_H__

#include "NezhaRefable.h"

namespace Nezha
{
	namespace stream
	{

		class FOUNDATION_ENTRY IWriteFile : public Refable
		{
		public:
			virtual int write(const void* buffer, u32 sizeToWrite) = 0;

			virtual void flush() = 0;

			virtual bool seek(long finalPos, bool relativeMovement = false) = 0;

			virtual long getPos() const = 0;

			virtual const char* getFileName() const = 0;

			virtual const char* getFullPath() const = 0;
		}; // class NezhaIWriteFile

	};
};

#endif // __NEZHAIWRITEFILE_H__